Data storage devices are ubiquitous in everyday life. For example, nearly all computers have hard disk drives (HDD) or solid state memory for non-volatile storage. There may be multiple types of storage medium, including removable media such as Compact Disk (CD), Digital Versatile Disk (DVD) or Universal Serial Bus (USB) devices for information storage. It is not uncommon for a system to employ multiple types of storage medium.
Many types of data storage devices incorporate programming initialization information needed by the data storage device to operate. It is advantageous to store this information on the storage medium contained in the storage device itself. A small resident program may be used at initialization time to read the initialization information for the data storage device to become fully operational. Some systems may use a boot block that is stored in a permanent fixed location that can be accessed to get the needed information to locate the initialization information.
The present invention overcomes the limitations of the prior art and provides a method of initializing a data storage device robustly.